<?php
$this->breadcrumbs = array(
    'Asistencia' => array('index'),
    'Llamar Asistencia',
);
?>

<h1>Asistencia</h2>

<?php
$idClase = Yii::app()->user->getState('idClase');
$idCurso = Yii::app()->user->getState('idCurso');

$array = Array();
$criteria = new CDbCriteria;
$criteria->order = 'id_alumno ASC';
$dataProviderCantAlumnos = Asistencia::model()->findAll($criteria);

$soapClient = new SoapClient(Yii::app()->getParams()->webServiceUrl);
$response = $soapClient->getCantHoraMateria($idCurso, date('Y-m-d'));
if (isset($response)) {
    $cantHora = $response;
} else {
    throw new CHttpException(404, 'No funciona el getCantHoraMateria en index.php');
}
if ($idClase == null || $idCurso == null) {
    $this->redirect(Yii::app()->createUrl('clase/create'));
}


$contador = 0;
foreach ($dataProviderCantAlumnos as $data) {
    if ($data->id_curso == $idCurso && $data->id_clase == $idClase)
        $array[$contador++] = $data->id_alumno;
}

$idCursoCookie = Yii::app()->user->getState('idClase',false);
if($idCursoCookie){
	echo '<a href="'.Yii::app()->createUrl('/clase/update/'.$idCursoCookie).'">Editar Tema u Observación de la Clase</a>';
}

$this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'alumno',
    'dataProvider' => $dataProviderAlumnoXCurso,
    'columns' => array(
        array(
            'type' => 'text',
            'name' => "Matricula",
            'value' => 'Asistencia::model()->getMatricula($data->id_alumno)'),
        array(
            'type' => 'text',
            'name' => "Nombre del Alumno",
            'value' => 'Asistencia::model()->getDatosAlumno($data->id_alumno)'),
        array(
            'class' => 'CCheckBoxColumn',
            'id' => '1-Hora',
            'selectableRows' => 2,
            'visible' => 1 > $cantHora ? false : true,
            'checked' => 'Asistencia::model()->getPresencia($data->id_curso,$data->id_alumno,' . $idClase . ',1)',
            'checkBoxHtmlOptions' => array('onClick' => "javascript:$('#respuesta').text('');")),
         
        array(
            'id' => '2-Hora',
            //'header' => 'segundaHora',
            'class' => 'CCheckBoxColumn',
            'selectableRows' => 2,
            'visible' => 2 > $cantHora ? false : true,
            'checked' => 'Asistencia::model()->getPresencia($data->id_curso,$data->id_alumno,' . $idClase . ',2)',
            'checkBoxHtmlOptions' => array('onClick' => "javascript:$('#respuesta').text('');")),

        array(
            'id' => '3-Hora',
            //'header' => 'terceraHora',
            'class' => 'CCheckBoxColumn',
            'selectableRows' => 2,
            'visible' => 3 > $cantHora ? false : true,
            'checked' => 'Asistencia::model()->getPresencia($data->id_curso,$data->id_alumno,' . $idClase . ',3)',
            'checkBoxHtmlOptions' => array('onClick' => "javascript:$('#respuesta').text('');")),

        array(
            'id' => '4-Hora',
            'class' => 'CCheckBoxColumn',
            'selectableRows' => 2,
            'visible' => 4 > $cantHora ? false : true,
            'checked' => 'Asistencia::model()->getPresencia($data->id_curso,$data->id_alumno,' . $idClase . ',4)',
            'checkBoxHtmlOptions' => array('onClick' => "javascript:$('#respuesta').text('');")),

        array(
            'id' => '5-Hora',
            'class' => 'CCheckBoxColumn',
            'selectableRows' => 2,
            'visible' => 5 > $cantHora ? false : true,
            'checked' => 'Asistencia::model()->getPresencia($data->id_curso,$data->id_alumno,' . $idClase . ',5)',
            'checkBoxHtmlOptions' => array('onClick' => "javascript:$('#respuesta').text('');")),

        array(
            'id' => '6-Hora',
            'class' => 'CCheckBoxColumn',
            'selectableRows' => 2,
            'visible' => 6 > $cantHora ? false : true,
            'checked' => 'Asistencia::model()->getPresencia($data->id_curso,$data->id_alumno,' . $idClase . ',6)',
            'checkBoxHtmlOptions' => array('onClick' => "javascript:$('#respuesta').text('');")),

        array(
            'id' => 'selectRow',
            'class' => 'CCheckBoxColumn',
            'header' => 'SeleccionarRow',
            'selectableRows' => 2,
            'checkBoxHtmlOptions' => array('onClick' => "javascript:selectionRow();$('#respuesta').text('');")
        )
    )
));
?>


<script>

    var lista = new Array(<?php echo $cantHora; ?>);
    var curso = null;

    
   $(document).ready(function() {
        $('#selectRow_all').attr('title','Marcar todas las casillas');
        $('#selectRow_all').tooltip();
        
        $('input[name="selectRow[]"]').attr('title','Marcar toda la fila');
        $('input[name="selectRow[]"]').tooltip();
        $('#1-Hora_all').attr('title','Marcar toda la columna');
        $('#1-Hora_all').tooltip(); 
        $('#2-Hora_all').attr('title','Marcar toda la columna');
        $('#2-Hora_all').tooltip();
        $('#3-Hora_all').attr('title','Marcar toda la columna');
        $('#3-Hora_all').tooltip();
        $('#4-Hora_all').attr('title','Marcar toda la columna');
        $('#4-Hora_all').tooltip();
        $('#5-Hora_all').attr('title','Marcar toda la columna');
        $('#5-Hora_all').tooltip();
        $('#6-Hora_all').attr('title','Marcar toda la columna');
        $('#6-Hora_all').tooltip();
        $('#selectRow_all').change(function(){
            if(this.checked){
    <?php
    for ($i = 0; $i < $contador; $i++) {
        ?>

        <?php
        for ($j = 0; $j < $cantHora; $j++) {
            ?>
                              $('#' +<?php echo ($j + 1) ?> + '-Hora_' +<?php echo $i ?>).attr('checked', true);

            <?php
        }
        ?>
                  
                    
        <?php
    }
    ?>
            }else{
    <?php
    for ($i = 0; $i < $contador; $i++) {
        ?>

        <?php
        for ($j = 0; $j < $cantHora; $j++) {
            ?>
                              $('#' +<?php echo ($j + 1) ?> + '-Hora_' +<?php echo $i ?>).attr('checked', false);

            <?php
        }
        ?>
                  
                    
        <?php
    }
    ?>
                
            }
        });
    });
    function selectionRow() {

        var diff;
        var cantHora = <?php echo $cantHora; ?>;

        var lista_check = new Array(<?php echo $cantHora; ?>);
        var indice = 0;
        <?php
        for ($i = 0; $i < $contador; $i++) {
        ?>

                if ($('#selectRow_' +<?php echo $i ?>).prop('checked')) {
                    <?php
                    for ($j = 0; $j < $cantHora; $j++) {
                    ?>
                      $('#' +<?php echo ($j + 1) ?> + '-Hora_' +<?php echo $i ?>).attr('checked', true);

                    <?php
                    }
                    ?>
                lista_check[indice] = <?php echo $i ?>;
                indice++;
                }
        <?php
        }
        ?>
        diff = $(lista).not(lista_check).get();
        for (i = 0; i < diff.length; i++) {
            for (j = 0; j < cantHora; j++) {

                $('#' + (j + 1) + '-Hora_' + diff[i]).attr('checked', false);

            }
        }
        lista = lista_check;
    }
    
    function guardarBd() {
        var cantAlumnos = '<?php echo $contador; ?>';
        var cantHora = '<?php echo $cantHora; ?>';

        var lista1 = new Array(cantAlumnos);
        var lista2 = new Array(cantAlumnos);


<?php
for ($i = 0; $i < $contador; $i++) {
    ?>
            lista1[<?php echo $i ?>] = 0;
            lista2[<?php echo $i ?>] = 0;

    <?php
}
?>


<?php
for ($i = 0; $i < $contador; $i++) {
    ?>
            if ($('#1-Hora_' +<?php echo $i ?>).prop('checked')) {
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";
                lista2[<?php echo $i ?>]++;
            } else
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";

            if ($('#2-Hora_' +<?php echo $i ?>).prop('checked')) {
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";
                lista2[<?php echo $i ?>]++;
            } else
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";

            if ($('#3-Hora_' +<?php echo $i ?>).prop('checked')) {
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";
                lista2[<?php echo $i ?>]++;
            } else
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";

            if ($('#4-Hora_' +<?php echo $i ?>).prop('checked')) {
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";
                lista2[<?php echo $i ?>]++;
            } else
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";

            if ($('#5-Hora_' +<?php echo $i ?>).prop('checked')) {
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";
                lista2[<?php echo $i ?>]++;
            } else
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";

            if ($('#6-Hora_' +<?php echo $i ?>).prop('checked')) {
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";
                lista2[<?php echo $i ?>]++;
            } else
                lista1[<?php echo $i ?>] = "<?php echo $array[$i]; ?>";

    <?php
}
?>

        var action = '<?php echo $this->createUrl('asistencia/ActualizarBd', array('lista1' => '')); ?>';
        action = action + lista1 + '&lista2=' + lista2;

        $.get(action, function(data) {
            $('#respuesta').html(data);
 
        });
    }



</script>	



<div style="width:100%; height:50%">
    <button id="button" onclick = "guardarBd()">Guardar</button>
</div>

  <br />   
        <div class="row">
            <div id="respuesta"></div>
        </div>



